package Utils;

import java.awt.Color;
import java.awt.Image;
import java.awt.Toolkit;
import java.net.URL;
import net.sf.jml.MsnUserStatus;

public class MjUtils {
    /*
     * metodo che ritorna una stringa che rappresenta uno
     * stato di msn
     * */
    public static String getDisplayableStatus(MsnUserStatus status) {
        if (status.equals(MsnUserStatus.ONLINE))
            return "Online";
        else if(status.equals(MsnUserStatus.AWAY))
            return "Non al computer";
        else if(status.equals(MsnUserStatus.BE_RIGHT_BACK))
            return "Torno subito";
        else if(status.equals(MsnUserStatus.BUSY))
            return "Occupato";
        else if(status.equals(MsnUserStatus.HIDE))
            return "Invisibile";
        else if(status.equals(MsnUserStatus.IDLE))
            return "Inattivo";
        else if(status.equals(MsnUserStatus.OFFLINE))
            return "Offline";
        else if(status.equals(MsnUserStatus.ON_THE_PHONE))
            return "Al telefono";
        else if(status.equals(MsnUserStatus.OUT_TO_LUNCH))
            return "A pranzo";
        else
            return "Stato sconosciuto a Messenj";
    }

    public static Color getColor(MsnUserStatus status) {
        if (status.equals(MsnUserStatus.ONLINE)) 
            return Color.GREEN;
         else if (status.equals(MsnUserStatus.BUSY))
               return Color.RED;
         else if (status.equals(MsnUserStatus.AWAY)) 
               return Color.ORANGE;
         else
             return Color.WHITE;
    }

    public String getPathByEmoticons(String emot) {
        if (emot.equals(":)")) 
            return getClass().getResource("/Resources/Images/smile_1.gif").getPath();
         else
            return "";
         }

    //"Online", "Non al computer", "Occupato", "Torno subito", "Al telefono", "A pranzo", "Invisibile"
    public static MsnUserStatus getStatusByString(String status) {
        if (status.equals("Online"))
            return MsnUserStatus.ONLINE;
        else if(status.equals("Offline"))
            return MsnUserStatus.OFFLINE;
        else if(status.equals("Inattivo"))
            return MsnUserStatus.IDLE;
        else if(status.equals("Al telefono"))
            return MsnUserStatus.ON_THE_PHONE;
        else if(status.equals("Invisibile"))
            return MsnUserStatus.HIDE;
        else if(status.equals("A pranzo"))
            return MsnUserStatus.OUT_TO_LUNCH;
        else if(status.equals("Non al computer"))
            return MsnUserStatus.AWAY;
        else if(status.equals("Torno subito"))
            return MsnUserStatus.BE_RIGHT_BACK;
        else if(status.equals("Occupato"))
            return MsnUserStatus.BUSY;
        else
            return null;
    }
}
